gtk: fix crash in _gtk_rbtree_find_offset() called from update_prelight()
authorMichael Natterer <mitch@gimp.org>
Sat, 6 Feb 2010 14:57:15 +0000 (15:57 +0100)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:56:06 +0000 (20:56 -0400)
Move the check for tree_view->priv->tree being NULL into update_prelight()
so the function will never call _gtk_rbtree_find_offset() on a NULL rbtree.

gtk/gtktreeview.c

index 5d7541271d6c4c778f52deed82f758efcb32bf68..e53f8cdcaaf0f6f8521388fc32fa0198636a7145 100644 (file)
@@ -3353,6 +3353,9 @@ update_prelight (GtkTreeView *tree_view,
   GtkRBTree *tree;
   GtkRBNode *node;
 
+  if (tree_view->priv->tree == NULL)
+    return;
+
   if (x == -10000)
     {
       ensure_unprelighted (tree_view);
@@ -10618,10 +10621,9 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
       dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value;
       if (dy)
        {
-          if (tree_view->priv->tree)
-            update_prelight (tree_view,
-                             tree_view->priv->event_last_x,
-                             tree_view->priv->event_last_y - dy);
+          update_prelight (tree_view,
+                           tree_view->priv->event_last_x,
+                           tree_view->priv->event_last_y - dy);
 
          if (tree_view->priv->edited_column &&
               GTK_IS_WIDGET (tree_view->priv->edited_column->editable_widget))